A virtual machine clone is a copy of an existing virtual machine (VM). VMs can be cloned across highly distributed architectures. These highly distributed environments include numerous host devices (e.g., ranging from hundreds to thousands of hosts) and corresponding datastores spread across geographically distinct locations. The speed at which VMs are cloned across a large, highly distributed environment, however, remains sub-optimal. For example, deploying a 200 cluster of VMs across 16 host devices by concurrently cloning a VM from a single template from a source datastore to all destination datastores takes on the order of tens of hours due in part to network and datastore bottlenecks.
Cloning VMs, or creating copies of other data, may be performed by copying an entire file or by copying the file on a per-block basis (e.g., dividing the file to be copied into fragments and copying each fragment from the source to the destination until the entire file has been completely copied). The suboptimal copying speed described above, however, persists regardless of the manner in which the data is copied from the source datastore to the destination datastores.